

<!DOCTYPE html>


<html lang="en" >

  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Class image &#8212; libf3d 2.5.1 documentation</title>
  
  
  
  <script data-cfasync="false">
    document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
    document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
  </script>
  
  <!-- Loaded before other Sphinx assets -->
  <link href="../_static/styles/theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=12da95d707ffb74b382d" rel="stylesheet" />

  
  <link href="../_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=12da95d707ffb74b382d" rel="stylesheet" />
  <link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" href="../_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
    <link rel="stylesheet" type="text/css" href="../_static/collapsible-lists/css/tree_view.css" />
  
  <!-- Pre-loaded scripts that we'll load fully later -->
  <link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d" />

    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="../_static/doctools.js"></script>
    <script src="../_static/sphinx_highlight.js"></script>
    <script src="../_static/scripts/sphinx-book-theme.js?digest=5a5c038af52cf7bc1a1ec88eea08e6366ee68824"></script>
    <script src="../_static/collapsible-lists/js/CollapsibleLists.compressed.js"></script>
    <script src="../_static/collapsible-lists/js/apply-collapsible-lists.js"></script>
    <script>DOCUMENTATION_OPTIONS.pagename = 'api/classf3d_1_1image';</script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Class interactor" href="classf3d_1_1interactor.html" />
    <link rel="prev" title="Class exception" href="class_structf3d_1_1exception.html" />
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
  <meta name="docsearch:language" content="en"/>
  </head>
  
  
  <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">

  
  
  <a class="skip-link" href="#main-content">Skip to main content</a>
  
  <input type="checkbox"
          class="sidebar-toggle"
          name="__primary"
          id="__primary"/>
  <label class="overlay overlay-primary" for="__primary"></label>
  
  <input type="checkbox"
          class="sidebar-toggle"
          name="__secondary"
          id="__secondary"/>
  <label class="overlay overlay-secondary" for="__secondary"></label>
  
  <div class="search-button__wrapper">
    <div class="search-button__overlay"></div>
    <div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
      action="../search.html"
      method="get">
  <i class="fa-solid fa-magnifying-glass"></i>
  <input type="search"
         class="form-control"
         name="q"
         id="search-input"
         placeholder="Search..."
         aria-label="Search..."
         autocomplete="off"
         autocorrect="off"
         autocapitalize="off"
         spellcheck="false"/>
  <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
  </div>
  
    <nav class="bd-header navbar navbar-expand-lg bd-navbar">
    </nav>
  
  <div class="bd-container">
    <div class="bd-container__inner bd-page-width">
      
      <div class="bd-sidebar-primary bd-sidebar">
        

  
  <div class="sidebar-header-items sidebar-primary__section">
    
    
    
    
  </div>
  
    <div class="sidebar-primary-items__start sidebar-primary__section">
        <div class="sidebar-primary-item">
  

<a class="navbar-brand logo" href="../index.html">
  
  
  
  
  
    <p class="title logo__title">libf3d 2.5.1 documentation</p>
  
</a></div>
        <div class="sidebar-primary-item"><nav class="bd-links" id="bd-docs-nav" aria-label="Main">
    <div class="bd-toc-item navbar-nav active">
        <p aria-level="2" class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current nav bd-sidenav">
<li class="toctree-l1 current active has-children"><a class="reference internal" href="library_root.html">Library API</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="namespace_f3d.html">Namespace f3d</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1camera__state__t.html">Struct camera_state_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1context_1_1loading__exception.html">Struct context::loading_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1context_1_1symbol__exception.html">Struct context::symbol_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1cache__exception.html">Struct engine::cache_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1libInformation.html">Struct engine::libInformation</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1no__interactor__exception.html">Struct engine::no_interactor_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1no__window__exception.html">Struct engine::no_window_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1plugin__exception.html">Struct engine::plugin_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1engine_1_1readerInformation.html">Struct engine::readerInformation</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1metadata__exception.html">Struct image::metadata_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html">Struct image::read_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html">Struct image::write_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interaction__bind__t.html">Struct interaction_bind_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1already__exists__exception.html">Struct interactor::already_exists_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1command__runtime__exception.html">Struct interactor::command_runtime_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1interactor_1_1does__not__exists__exception.html">Struct interactor::does_not_exists_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1mesh__t.html">Struct mesh_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1point3__t.html">Struct point3_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1scene_1_1load__failure__exception.html">Struct scene::load_failure_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1utils_1_1string__template_1_1lookup__error.html">Struct string_template::lookup_error</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1utils_1_1tokenize__exception.html">Struct utils::tokenize_exception</a></li>
<li class="toctree-l2"><a class="reference internal" href="structf3d_1_1vector3__t.html">Struct vector3_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1camera.html">Class camera</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1context.html">Class context</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1engine.html">Class engine</a></li>
<li class="toctree-l2"><a class="reference internal" href="class_structf3d_1_1exception.html">Class exception</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Class image</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1interactor.html">Class interactor</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1log.html">Class log</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1ratio__t.html">Class ratio_t</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1scene.html">Class scene</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1utils.html">Class utils</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1utils_1_1string__template.html">Class utils::string_template</a></li>
<li class="toctree-l2"><a class="reference internal" href="classf3d_1_1window.html">Class window</a></li>
<li class="toctree-l2"><a class="reference internal" href="typedef_types_8h_1a62f3e15e4e18455b52854622b27c02ed.html">Typedef f3d::angle_deg_t</a></li>
</ul>
</li>
</ul>

    </div>
</nav></div>
    </div>
  
  
  <div class="sidebar-primary-items__end sidebar-primary__section">
  </div>
  
  <div id="rtd-footer-container"></div>


      </div>
      
      <main id="main-content" class="bd-main">
        
        

<div class="sbt-scroll-pixel-helper"></div>

          <div class="bd-content">
            <div class="bd-article-container">
              
              <div class="bd-header-article">
<div class="header-article-items header-article__inner">
  
    <div class="header-article-items__start">
      
        <div class="header-article-item"><label class="sidebar-toggle primary-toggle btn btn-sm" for="__primary" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
  <span class="fa-solid fa-bars"></span>
</label></div>
      
    </div>
  
  
    <div class="header-article-items__end">
      
        <div class="header-article-item">

<div class="article-header-buttons">





<div class="dropdown dropdown-download-buttons">
  <button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Download this page">
    <i class="fas fa-download"></i>
  </button>
  <ul class="dropdown-menu">
      
      
      
      <li><a href="../_sources/api/classf3d_1_1image.rst" target="_blank"
   class="btn btn-sm btn-download-source-button dropdown-item"
   title="Download source file"
   data-bs-placement="left" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-file"></i>
  </span>
<span class="btn__text-container">.rst</span>
</a>
</li>
      
      
      
      
      <li>
<button onclick="window.print()"
  class="btn btn-sm btn-download-pdf-button dropdown-item"
  title="Print to PDF"
  data-bs-placement="left" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-file-pdf"></i>
  </span>
<span class="btn__text-container">.pdf</span>
</button>
</li>
      
  </ul>
</div>




<button onclick="toggleFullScreen()"
  class="btn btn-sm btn-fullscreen-button"
  title="Fullscreen mode"
  data-bs-placement="bottom" data-bs-toggle="tooltip"
>
  

<span class="btn__icon-container">
  <i class="fas fa-expand"></i>
  </span>

</button>


<script>
document.write(`
  <button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
    <span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
    <span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
  </button>
`);
</script>

<script>
document.write(`
  <button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <i class="fa-solid fa-magnifying-glass"></i>
  </button>
`);
</script>
<label class="sidebar-toggle secondary-toggle btn btn-sm" for="__secondary"title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
    <span class="fa-solid fa-list"></span>
</label>
</div></div>
      
    </div>
  
</div>
</div>
              
              

<div id="jb-print-docs-body" class="onlyprint">
    <h1>Class image</h1>
    <!-- Table of contents -->
    <div id="print-main-content">
        <div id="jb-print-toc">
            
            <div>
                <h2> Contents </h2>
            </div>
            <nav aria-label="Page">
                <ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-relationships">Nested Relationships</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-types">Nested Types</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#class-documentation">Class Documentation</a></li>
</ul>
            </nav>
        </div>
    </div>
</div>

              
                
<div id="searchbox"></div>
                <article class="bd-article" role="main">
                  
  <section id="class-image">
<span id="exhale-class-classf3d-1-1image"></span><h1>Class image<a class="headerlink" href="#class-image" title="Permalink to this heading">#</a></h1>
<ul class="simple">
<li><p>Defined in <a class="reference internal" href="file_public_image.h.html#file-public-image-h"><span class="std std-ref">File image.h</span></a></p></li>
</ul>
<section id="nested-relationships">
<h2>Nested Relationships<a class="headerlink" href="#nested-relationships" title="Permalink to this heading">#</a></h2>
<section id="nested-types">
<h3>Nested Types<a class="headerlink" href="#nested-types" title="Permalink to this heading">#</a></h3>
<ul class="simple">
<li><p><a class="reference internal" href="structf3d_1_1image_1_1metadata__exception.html#exhale-struct-structf3d-1-1image-1-1metadata-exception"><span class="std std-ref">Struct image::metadata_exception</span></a></p></li>
<li><p><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html#exhale-struct-structf3d-1-1image-1-1read-exception"><span class="std std-ref">Struct image::read_exception</span></a></p></li>
<li><p><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html#exhale-struct-structf3d-1-1image-1-1write-exception"><span class="std std-ref">Struct image::write_exception</span></a></p></li>
</ul>
</section>
</section>
<section id="class-documentation">
<h2>Class Documentation<a class="headerlink" href="#class-documentation" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5imageE">
<span id="_CPPv3N3f3d5imageE"></span><span id="_CPPv2N3f3d5imageE"></span><span id="f3d::image"></span><span class="target" id="classf3d_1_1image"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5imageE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Class used to represent an image. </p>
<p>A class to represent an image, which can be created from a file, a buffer and provided by a window. It provides tools to save and compare images. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-constructors">Constructors</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image5imageEv">
<span id="_CPPv3N3f3d5image5imageEv"></span><span id="_CPPv2N3f3d5image5imageEv"></span><span id="f3d::image::image"></span><span class="target" id="classf3d_1_1image_1aefc24a2599c90b88461892a9010b2521"></span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image5imageEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5imageD0Ev">
<span id="_CPPv3N3f3d5imageD0Ev"></span><span id="_CPPv2N3f3d5imageD0Ev"></span><span id="f3d::image::~image"></span><span class="target" id="classf3d_1_1image_1a22ecd909c5406f00af4ecab8c5f65924"></span><span class="sig-name descname"><span class="n"><span class="pre">~image</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5imageD0Ev" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image5imageERK5image">
<span id="_CPPv3N3f3d5image5imageERK5image"></span><span id="_CPPv2N3f3d5image5imageERK5image"></span><span id="f3d::image::image__imageCR"></span><span class="target" id="classf3d_1_1image_1a3018cb02119749352d3b43c8b2fbb4c0"></span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5image5imageERK5image" title="f3d::image::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">img</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image5imageERK5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5imageaSERK5image">
<span id="_CPPv3N3f3d5imageaSERK5image"></span><span id="_CPPv2N3f3d5imageaSERK5image"></span><span id="f3d::image::assign-operator__imageCR"></span><span class="target" id="classf3d_1_1image_1a122ce312e49c1f8f631243c0f698e96b"></span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">=</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">img</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N3f3d5imageaSERK5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image5imageERR5image">
<span id="_CPPv3N3f3d5image5imageERR5image"></span><span id="_CPPv2N3f3d5image5imageERR5image"></span><span id="f3d::image::image__imageRR"></span><span class="target" id="classf3d_1_1image_1a849dfd623e0fd30b8423a8428ce6683a"></span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N3f3d5image5imageERR5image" title="f3d::image::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">img</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N3f3d5image5imageERR5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5imageaSERR5image">
<span id="_CPPv3N3f3d5imageaSERR5image"></span><span id="_CPPv2N3f3d5imageaSERR5image"></span><span id="f3d::image::assign-operator__imageRR"></span><span class="target" id="classf3d_1_1image_1aeb00a99210335d0d1094d76b9735b843"></span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">=</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">img</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N3f3d5imageaSERR5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Default/copy/move constructors/operators. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-operators">Operators</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5imageeqERK5image">
<span id="_CPPv3NK3f3d5imageeqERK5image"></span><span id="_CPPv2NK3f3d5imageeqERK5image"></span><span id="f3d::image::eq-operator__imageCRC"></span><span class="target" id="classf3d_1_1image_1a9946310d12ccca5d8524eb99686c7852"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">==</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">reference</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5imageeqERK5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Comparison operators, uses <a class="reference internal" href="#classf3d_1_1image_1a9e3f22780c719f2ada05905e42c056f0"><span class="std std-ref">image::compare</span></a> with a threshold of 1e-14. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5imageneERK5image">
<span id="_CPPv3NK3f3d5imageneERK5image"></span><span id="_CPPv2NK3f3d5imageneERK5image"></span><span id="f3d::image::neq-operator__imageCRC"></span><span class="target" id="classf3d_1_1image_1a0117eff18734cc22b4658d9b5cf9ffcf"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">!=</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">reference</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5imageneERK5image" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Comparison operators, uses <a class="reference internal" href="#classf3d_1_1image_1a9e3f22780c719f2ada05905e42c056f0"><span class="std std-ref">image::compare</span></a> with a threshold of 1e-14. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-resolution">Resolution</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image8getWidthEv">
<span id="_CPPv3NK3f3d5image8getWidthEv"></span><span id="_CPPv2NK3f3d5image8getWidthEv"></span><span id="f3d::image::getWidthC"></span><span class="target" id="classf3d_1_1image_1ae59d1943a87a24c48919beb3ee4c50cd"></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getWidth</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image8getWidthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set/Get image resolution.</p>
<p><dl>
<dt class="sig sig-object cpp">
<a class="reference internal" href="page_deprecated.html#deprecated_1_deprecated000001"><span class="std std-ref"><span class="pre">Deprecated:</span></span></a></dt>
<dd><p>{ setResolution is deprecated, use the appropriate constructor } </p>
</dd></dl>

</p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image9getHeightEv">
<span id="_CPPv3NK3f3d5image9getHeightEv"></span><span id="_CPPv2NK3f3d5image9getHeightEv"></span><span id="f3d::image::getHeightC"></span><span class="target" id="classf3d_1_1image_1a1f3cede0d5c810d273d9406fbe9c9f88"></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getHeight</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image9getHeightEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set/Get image resolution.</p>
<p><dl>
<dt class="sig sig-object cpp">
<a class="reference internal" href="page_deprecated.html#deprecated_1_deprecated000001"><span class="std std-ref"><span class="pre">Deprecated:</span></span></a></dt>
<dd><p>{ setResolution is deprecated, use the appropriate constructor } </p>
</dd></dl>

</p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-channel-count">Channel Count</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image15getChannelCountEv">
<span id="_CPPv3NK3f3d5image15getChannelCountEv"></span><span id="_CPPv2NK3f3d5image15getChannelCountEv"></span><span id="f3d::image::getChannelCountC"></span><span class="target" id="classf3d_1_1image_1a02cc5b09cf3d682b918ab7d6928dd74a"></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getChannelCount</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image15getChannelCountEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set/Get image channel count.</p>
<p><dl>
<dt class="sig sig-object cpp">
<a class="reference internal" href="page_deprecated.html#deprecated_1_deprecated000002"><span class="std std-ref"><span class="pre">Deprecated:</span></span></a></dt>
<dd><p>{ setChannelCount is deprecated, use the appropriate constructor } </p>
</dd></dl>

</p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-buffer-data">Buffer Data</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10setContentEPv">
<span id="_CPPv3N3f3d5image10setContentEPv"></span><span id="_CPPv2N3f3d5image10setContentEPv"></span><span id="f3d::image::setContent__voidP"></span><span class="target" id="classf3d_1_1image_1a1c08ae332e0beb14d22c78c3a2601551"></span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">setContent</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image10setContentEPv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set/Get image buffer data. Its size is expected to be <code class="docutils literal notranslate"><span class="pre">width</span> <span class="pre">*</span> <span class="pre">height</span> <span class="pre">*</span> <span class="pre">channelCount</span> <span class="pre">*</span> <span class="pre">typeSize</span></code>.</p>
<p><dl>
<dt class="sig sig-object cpp">
<a class="reference internal" href="page_deprecated.html#deprecated_1_deprecated000003"><span class="std std-ref"><span class="pre">Deprecated:</span></span></a></dt>
<dd><p>{ setData and getData are deprecated, use setContent and getContent instead } </p>
</dd></dl>

</p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image10getContentEv">
<span id="_CPPv3NK3f3d5image10getContentEv"></span><span id="_CPPv2NK3f3d5image10getContentEv"></span><span id="f3d::image::getContentC"></span><span class="target" id="classf3d_1_1image_1a5a4b6b08b24eb336989aa017f89918a8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">getContent</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image10getContentEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set/Get image buffer data. Its size is expected to be <code class="docutils literal notranslate"><span class="pre">width</span> <span class="pre">*</span> <span class="pre">height</span> <span class="pre">*</span> <span class="pre">channelCount</span> <span class="pre">*</span> <span class="pre">typeSize</span></code>.</p>
<p><dl>
<dt class="sig sig-object cpp">
<a class="reference internal" href="page_deprecated.html#deprecated_1_deprecated000003"><span class="std std-ref"><span class="pre">Deprecated:</span></span></a></dt>
<dd><p>{ setData and getData are deprecated, use setContent and getContent instead } </p>
</dd></dl>

</p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10SaveFormatE">
<span id="_CPPv3N3f3d5image10SaveFormatE"></span><span id="_CPPv2N3f3d5image10SaveFormatE"></span><span class="target" id="classf3d_1_1image_1a3965ccbe6b7c763e623ea98458bf0c3f"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SaveFormat</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><a class="headerlink" href="#_CPPv4N3f3d5image10SaveFormatE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enumeration of supported export formats </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10SaveFormat3PNGE">
<span id="_CPPv3N3f3d5image10SaveFormat3PNGE"></span><span id="_CPPv2N3f3d5image10SaveFormat3PNGE"></span><span class="target" id="classf3d_1_1image_1a3965ccbe6b7c763e623ea98458bf0c3fa55505ba281b015ec31f03ccb151b2a34"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PNG</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image10SaveFormat3PNGE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10SaveFormat3JPGE">
<span id="_CPPv3N3f3d5image10SaveFormat3JPGE"></span><span id="_CPPv2N3f3d5image10SaveFormat3JPGE"></span><span class="target" id="classf3d_1_1image_1a3965ccbe6b7c763e623ea98458bf0c3fa92769fe7c40229f4301d6125e0a9e928"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">JPG</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image10SaveFormat3JPGE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10SaveFormat3TIFE">
<span id="_CPPv3N3f3d5image10SaveFormat3TIFE"></span><span id="_CPPv2N3f3d5image10SaveFormat3TIFE"></span><span class="target" id="classf3d_1_1image_1a3965ccbe6b7c763e623ea98458bf0c3fa9442880680eb5d7fb60d15f422004547"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TIF</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image10SaveFormat3TIFE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image10SaveFormat3BMPE">
<span id="_CPPv3N3f3d5image10SaveFormat3BMPE"></span><span id="_CPPv2N3f3d5image10SaveFormat3BMPE"></span><span class="target" id="classf3d_1_1image_1a3965ccbe6b7c763e623ea98458bf0c3faa5d5ca1447586e23dc011f8c0cc0a6db"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BMP</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image10SaveFormat3BMPE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</dd></dl>

<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image11ChannelTypeE">
<span id="_CPPv3N3f3d5image11ChannelTypeE"></span><span id="_CPPv2N3f3d5image11ChannelTypeE"></span><span class="target" id="classf3d_1_1image_1a3a84fa8e32dc1597a5589865654e65f4"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ChannelType</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><a class="headerlink" href="#_CPPv4N3f3d5image11ChannelTypeE" title="Permalink to this definition">#</a><br /></dt>
<dd><section id="classf3d_1_1image_1autotoc_md0">
<h3>Enumeration of supported channel types<a class="headerlink" href="#classf3d_1_1image_1autotoc_md0" title="Permalink to this heading">#</a></h3>
<p id="classf3d_1_1image_1autotoc_md0">BYTE: 8-bit integer in range [0,255] SHORT: 16-bit integer in range [0,65535] FLOAT: 32-bit floating point in range [-inf,+inf] </p>
</section>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image11ChannelType4BYTEE">
<span id="_CPPv3N3f3d5image11ChannelType4BYTEE"></span><span id="_CPPv2N3f3d5image11ChannelType4BYTEE"></span><span class="target" id="classf3d_1_1image_1a3a84fa8e32dc1597a5589865654e65f4ae409eb2ba6eb6801f52763ae370c350e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BYTE</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image11ChannelType4BYTEE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image11ChannelType5SHORTE">
<span id="_CPPv3N3f3d5image11ChannelType5SHORTE"></span><span id="_CPPv2N3f3d5image11ChannelType5SHORTE"></span><span class="target" id="classf3d_1_1image_1a3a84fa8e32dc1597a5589865654e65f4aa35c2b02966b1563e5bf7b81b8b0cf77"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SHORT</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image11ChannelType5SHORTE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image11ChannelType5FLOATE">
<span id="_CPPv3N3f3d5image11ChannelType5FLOATE"></span><span id="_CPPv2N3f3d5image11ChannelType5FLOATE"></span><span class="target" id="classf3d_1_1image_1a3a84fa8e32dc1597a5589865654e65f4ae738c26bf4ce1037fa81b039a915cbf6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FLOAT</span></span></span><a class="headerlink" href="#_CPPv4N3f3d5image11ChannelType5FLOATE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image5imageERKNSt10filesystem4pathE">
<span id="_CPPv3N3f3d5image5imageERKNSt10filesystem4pathE"></span><span id="_CPPv2N3f3d5image5imageERKNSt10filesystem4pathE"></span><span id="f3d::image::image__std::filesystem::pathCR"></span><span class="target" id="classf3d_1_1image_1ab94585a274b65994972b88e35884f34a"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">filesystem</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">path</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">filePath</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image5imageERKNSt10filesystem4pathE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read provided file path (used as is) into a new image instance, the following formats are supported: PNG, PNM, TIFF, BMP, HDR, JPEG, GESigna, MetaImage, TGA. EXR files are also supported if the associated module is built. The complete list can be retrieve at runtime by calling <code class="docutils literal notranslate"><a class="reference internal" href="#classf3d_1_1image_1a969c1579deab31febc7e4125e5f23a1e"><span class="std std-ref"><span class="pre">getSupportedFormats()</span></span></a></code>. Throw an <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html#structf3d_1_1image_1_1read__exception"><span class="std std-ref"><span class="pre">image::read_exception</span></span></a></code> in case of failure. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image5imageEjjj11ChannelType">
<span id="_CPPv3N3f3d5image5imageEjjj11ChannelType"></span><span id="_CPPv2N3f3d5image5imageEjjj11ChannelType"></span><span id="f3d::image::image__unsigned-i.unsigned-i.unsigned-i.ChannelType"></span><span class="target" id="classf3d_1_1image_1a86af78ae19a5d661fd4d91ea6d27d5b3"></span><span class="sig-name descname"><span class="n"><span class="pre">image</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">width</span></span>, <span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">height</span></span>, <span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">channelCount</span></span>, <a class="reference internal" href="#_CPPv4N3f3d5image11ChannelTypeE" title="f3d::image::ChannelType"><span class="n"><span class="pre">ChannelType</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5image11ChannelTypeE" title="f3d::image::ChannelType"><span class="n"><span class="pre">ChannelType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N3f3d5image11ChannelType4BYTEE" title="f3d::image::ChannelType::BYTE"><span class="n"><span class="pre">BYTE</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image5imageEjjj11ChannelType" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create an image from a given width, height, and channel count. A channel type can also be given. Default is BYTE. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image18getNormalizedPixelERKNSt4pairIiiEE">
<span id="_CPPv3NK3f3d5image18getNormalizedPixelERKNSt4pairIiiEE"></span><span id="_CPPv2NK3f3d5image18getNormalizedPixelERKNSt4pairIiiEE"></span><span id="f3d::image::getNormalizedPixel__std::pair:i.i:CRC"></span><span class="target" id="classf3d_1_1image_1aea5f94444558208b147f0d3db155424c"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">double</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getNormalizedPixel</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">pair</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">xy</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image18getNormalizedPixelERKNSt4pairIiiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read one specific pixel and return all channel normalized values. If the channel type is BYTE or SHORT, the values are normalized to [0, 1] range. </p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Because of the normalization, this function can be slow, prefer getContent when reading several pixels and normalization is not needed. </p>
</div>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image14getChannelTypeEv">
<span id="_CPPv3NK3f3d5image14getChannelTypeEv"></span><span id="_CPPv2NK3f3d5image14getChannelTypeEv"></span><span id="f3d::image::getChannelTypeC"></span><span class="target" id="classf3d_1_1image_1aa8740c8c109540e99c31e88ac1f28987"></span><a class="reference internal" href="#_CPPv4N3f3d5image11ChannelTypeE" title="f3d::image::ChannelType"><span class="n"><span class="pre">ChannelType</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getChannelType</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image14getChannelTypeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get image channel type. throw an <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html#structf3d_1_1image_1_1read__exception"><span class="std std-ref"><span class="pre">image::read_exception</span></span></a></code> if the type is unknown. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image18getChannelTypeSizeEv">
<span id="_CPPv3NK3f3d5image18getChannelTypeSizeEv"></span><span id="_CPPv2NK3f3d5image18getChannelTypeSizeEv"></span><span id="f3d::image::getChannelTypeSizeC"></span><span class="target" id="classf3d_1_1image_1a81c2f37a735c1d4c8a6b066f83674712"></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getChannelTypeSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image18getChannelTypeSizeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get image channel type size in bytes. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image7compareERK5imagedRd">
<span id="_CPPv3NK3f3d5image7compareERK5imagedRd"></span><span id="_CPPv2NK3f3d5image7compareERK5imagedRd"></span><span id="f3d::image::compare__imageCR.double.doubleRC"></span><span class="target" id="classf3d_1_1image_1a9e3f22780c719f2ada05905e42c056f0"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compare</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">reference</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">threshold</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">error</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image7compareERK5imagedRd" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Compare current image to a reference using the provided threshold. If the comparison fails, ie. error is higher than the threshold, this outputs the resulting diff and error and return false, return true otherwise. The error is minimum between Minkownski and Wasserstein distance on a SSIM computation, as specified in VTK. Please note, due to possible arithmetic imprecision in the SSIM computation using a threshold of zero may return false with identical images. Depending on the VTK version, another comparison algorithm may be used. Threshold should be in range [0, 1[, this returns false otherwise. 1e-14: Pixel perfect comparison. 0.04: Visually indistinguishable. 0.1: Small visible difference. 0.5: Comparable images. 1.0: Different type, size or number of components </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image4saveERKNSt10filesystem4pathE10SaveFormat">
<span id="_CPPv3NK3f3d5image4saveERKNSt10filesystem4pathE10SaveFormat"></span><span id="_CPPv2NK3f3d5image4saveERKNSt10filesystem4pathE10SaveFormat"></span><span id="f3d::image::save__std::filesystem::pathCR.SaveFormatC"></span><span class="target" id="classf3d_1_1image_1a7c19d3cc76a900fd25a9ac41fbb36d40"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">save</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">filesystem</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">path</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">filePath</span></span>, <a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormatE" title="f3d::image::SaveFormat"><span class="n"><span class="pre">SaveFormat</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormatE" title="f3d::image::SaveFormat"><span class="n"><span class="pre">SaveFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormat3PNGE" title="f3d::image::SaveFormat::PNG"><span class="n"><span class="pre">PNG</span></span></a><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image4saveERKNSt10filesystem4pathE10SaveFormat" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Save an image to the provided file path, used as is, in the specified format. Default format is PNG if not specified. PNG: Supports channel type BYTE and SHORT with channel count of 1 to 4 JPG: Supports channel type BYTE with channel count of 1 or 3 TIF: Supports channel type BYTE, SHORT and FLOAT with channel count of 1 to 4 BMP: Supports channel type BYTE with channel count of 1 to 4 Throw an <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html#structf3d_1_1image_1_1write__exception"><span class="std std-ref"><span class="pre">image::write_exception</span></span></a></code> if the format is incompatible with with image channel type or channel count </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image10saveBufferE10SaveFormat">
<span id="_CPPv3NK3f3d5image10saveBufferE10SaveFormat"></span><span id="_CPPv2NK3f3d5image10saveBufferE10SaveFormat"></span><span id="f3d::image::saveBuffer__SaveFormatC"></span><span class="target" id="classf3d_1_1image_1ac3a271b7961d2ac76873a1593487fd51"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">saveBuffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormatE" title="f3d::image::SaveFormat"><span class="n"><span class="pre">SaveFormat</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormatE" title="f3d::image::SaveFormat"><span class="n"><span class="pre">SaveFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N3f3d5image10SaveFormat3PNGE" title="f3d::image::SaveFormat::PNG"><span class="n"><span class="pre">PNG</span></span></a><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image10saveBufferE10SaveFormat" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Save an image to a memory buffer in the specified format and returns it. Default format is PNG if not specified. PNG: Supports channel type BYTE and SHORT with channel count of 1 to 4 JPG: Supports channel type BYTE with channel count of 1 or 3 BMP: Supports channel type BYTE with channel count of 1 to 4 TIF format is not supported yet. Throw an <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html#structf3d_1_1image_1_1write__exception"><span class="std std-ref"><span class="pre">image::write_exception</span></span></a></code> if the type is TIF or if the format is incompatible with with image channel type or channel count. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image14toTerminalTextERNSt7ostreamE">
<span id="_CPPv3NK3f3d5image14toTerminalTextERNSt7ostreamE"></span><span id="_CPPv2NK3f3d5image14toTerminalTextERNSt7ostreamE"></span><span id="f3d::image::toTerminalText__osRC"></span><span class="target" id="classf3d_1_1image_1a3ac95be9cd27ed67d1a843b36c647b99"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">toTerminalText</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">stream</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image14toTerminalTextERNSt7ostreamE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convert to colored text using ANSI escape sequences for printing in a terminal. Block and half-block characters are used to represent two pixels per character (vertically) meaning that each text line represent two rows of pixels. Byte encoded RGB and RGBA images are supported (alpha channel values are binarized). Assumes terminal support for:<ul class="simple">
<li><p>unicode block characters (<code class="docutils literal notranslate"><span class="pre">U+2580</span></code>, <code class="docutils literal notranslate"><span class="pre">U+2584</span></code>, <code class="docutils literal notranslate"><span class="pre">U+2588</span></code>)</p></li>
<li><p>SGR escape codes (<code class="docutils literal notranslate"><span class="pre">ESC[0m</span></code>, <code class="docutils literal notranslate"><span class="pre">ESC[49m</span></code>)</p></li>
<li><p>24-bit escape codes (<code class="docutils literal notranslate"><span class="pre">ESC[38;2;{r};{g};{b}m</span></code>, <code class="docutils literal notranslate"><span class="pre">ESC[48;2;{r};{g};{b}m</span></code>) Throw a <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html#structf3d_1_1image_1_1write__exception"><span class="std std-ref"><span class="pre">image::write_exception</span></span></a></code> if the type is not byte RGB or RGBA. </p></li>
</ul>
</p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image14toTerminalTextEv">
<span id="_CPPv3NK3f3d5image14toTerminalTextEv"></span><span id="_CPPv2NK3f3d5image14toTerminalTextEv"></span><span id="f3d::image::toTerminalTextC"></span><span class="target" id="classf3d_1_1image_1a73c7e3090c75126b2f5bc03b9a57d3b6"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">toTerminalText</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image14toTerminalTextEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convert to colored text using ANSI escape sequences for printing in a terminal. See <code class="docutils literal notranslate"><span class="pre">toTerminalText(std::ostream&amp;</span> <span class="pre">stream)</span></code>. Throw a <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1write__exception.html#structf3d_1_1image_1_1write__exception"><span class="std std-ref"><span class="pre">image::write_exception</span></span></a></code> if the type is not byte RGB or RGBA. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image11setMetadataENSt6stringENSt6stringE">
<span id="_CPPv3N3f3d5image11setMetadataENSt6stringENSt6stringE"></span><span id="_CPPv2N3f3d5image11setMetadataENSt6stringENSt6stringE"></span><span id="f3d::image::setMetadata__ss.ss"></span><span class="target" id="classf3d_1_1image_1af387b35d2fc29a7d7e59e8a17931d14e"></span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N3f3d5imageE" title="f3d::image"><span class="n"><span class="pre">image</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">setMetadata</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">key</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">value</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image11setMetadataENSt6stringENSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the value for a metadata key. Setting an empty value (<code class="docutils literal notranslate"><span class="pre">&quot;&quot;</span></code>) removes the key. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image11getMetadataERKNSt6stringE">
<span id="_CPPv3NK3f3d5image11getMetadataERKNSt6stringE"></span><span id="_CPPv2NK3f3d5image11getMetadataERKNSt6stringE"></span><span id="f3d::image::getMetadata__ssCRC"></span><span class="target" id="classf3d_1_1image_1a9e10e64f8bde29faaba00e00d134e60f"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getMetadata</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">key</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image11getMetadataERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the value for a metadata key. Throw a <code class="docutils literal notranslate"><a class="reference internal" href="structf3d_1_1image_1_1read__exception.html#structf3d_1_1image_1_1read__exception"><span class="std std-ref"><span class="pre">image::read_exception</span></span></a></code> if key does not exist. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK3f3d5image11allMetadataEv">
<span id="_CPPv3NK3f3d5image11allMetadataEv"></span><span id="_CPPv2NK3f3d5image11allMetadataEv"></span><span id="f3d::image::allMetadataC"></span><span class="target" id="classf3d_1_1image_1ab38f65cfcaf6baadac1b46c50ae5da2f"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">allMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK3f3d5image11allMetadataEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>List all the metadata keys which have a value set. </p>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image19getSupportedFormatsEv">
<span id="_CPPv3N3f3d5image19getSupportedFormatsEv"></span><span id="_CPPv2N3f3d5image19getSupportedFormatsEv"></span><span id="f3d::image::getSupportedFormats"></span><span class="target" id="classf3d_1_1image_1a969c1579deab31febc7e4125e5f23a1e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getSupportedFormats</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image19getSupportedFormatsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the list of supported image format extensions when opening a file. </p>
</dd></dl>

</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image18metadata_exceptionE">
<span id="_CPPv3N3f3d5image18metadata_exceptionE"></span><span id="_CPPv2N3f3d5image18metadata_exceptionE"></span><span id="f3d::image::metadata_exception"></span><span class="target" id="structf3d_1_1image_1_1metadata__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">metadata_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d5image18metadata_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by the image. when there is an error related to metadata </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image18metadata_exception18metadata_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d5image18metadata_exception18metadata_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d5image18metadata_exception18metadata_exceptionERKNSt6stringE"></span><span id="f3d::image::metadata_exception::metadata_exception__ssCR"></span><span class="target" id="structf3d_1_1image_1_1metadata__exception_1a9752d5ec2bd62827529058654e0c9ce7"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">metadata_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image18metadata_exception18metadata_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image14read_exceptionE">
<span id="_CPPv3N3f3d5image14read_exceptionE"></span><span id="_CPPv2N3f3d5image14read_exceptionE"></span><span id="f3d::image::read_exception"></span><span class="target" id="structf3d_1_1image_1_1read__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">read_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d5image14read_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by the image. when there is an error on read. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image14read_exception14read_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d5image14read_exception14read_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d5image14read_exception14read_exceptionERKNSt6stringE"></span><span id="f3d::image::read_exception::read_exception__ssCR"></span><span class="target" id="structf3d_1_1image_1_1read__exception_1a8494b506cc69a6e1252b171d5ffa4477"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">read_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image14read_exception14read_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image15write_exceptionE">
<span id="_CPPv3N3f3d5image15write_exceptionE"></span><span id="_CPPv2N3f3d5image15write_exceptionE"></span><span id="f3d::image::write_exception"></span><span class="target" id="structf3d_1_1image_1_1write__exception"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">write_exception</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">f3d</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="class_structf3d_1_1exception.html#_CPPv4N3f3d9exceptionE" title="f3d::exception"><span class="n"><span class="pre">exception</span></span></a><a class="headerlink" href="#_CPPv4N3f3d5image15write_exceptionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>An exception that can be thrown by the image when there. is an error on write. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N3f3d5image15write_exception15write_exceptionERKNSt6stringE">
<span id="_CPPv3N3f3d5image15write_exception15write_exceptionERKNSt6stringE"></span><span id="_CPPv2N3f3d5image15write_exception15write_exceptionERKNSt6stringE"></span><span id="f3d::image::write_exception::write_exception__ssCR"></span><span class="target" id="structf3d_1_1image_1_1write__exception_1ae60ce88787aeb45de2d75c16d1ae0e3a"></span><span class="k"><span class="pre">explicit</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">write_exception</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">what</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;&quot;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N3f3d5image15write_exception15write_exceptionERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

</dd></dl>

</section>
</section>


                </article>
              

              
              
                <footer class="bd-footer-article">
                  <!-- Previous / next buttons -->
<div class="prev-next-area">
    <a class="left-prev"
       href="class_structf3d_1_1exception.html"
       title="previous page">
      <i class="fa-solid fa-angle-left"></i>
      <div class="prev-next-info">
        <p class="prev-next-subtitle">previous</p>
        <p class="prev-next-title">Class exception</p>
      </div>
    </a>
    <a class="right-next"
       href="classf3d_1_1interactor.html"
       title="next page">
      <div class="prev-next-info">
        <p class="prev-next-subtitle">next</p>
        <p class="prev-next-title">Class interactor</p>
      </div>
      <i class="fa-solid fa-angle-right"></i>
    </a>
</div>
                </footer>
              
            </div>
            
            
              
                <div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">

  <div class="sidebar-secondary-item">
  <div class="page-toc tocsection onthispage">
    <i class="fa-solid fa-list"></i> Contents
  </div>
  <nav class="bd-toc-nav page-toc">
    <ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-relationships">Nested Relationships</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#nested-types">Nested Types</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#class-documentation">Class Documentation</a></li>
</ul>
  </nav></div>

</div></div>
              
            
          </div>
          <footer class="bd-footer-content">
            <div class="bd-footer-content__inner">
<div class="bd-footer-content__inner container">
  
  <div class="footer-item">
    
<p class="component-author">
By Michael Migliore and Mathieu Westphal
</p>

  </div>
  
  <div class="footer-item">
    
  <p class="copyright">
    
      © Copyright 2024, Michael Migliore and Mathieu Westphal.
      <br/>
    
  </p>

  </div>
  
  <div class="footer-item">
    
  </div>
  
  <div class="footer-item">
    
  </div>
  
</div></div>
          </footer>
        

      </main>
    </div>
  </div>
  
  <!-- Scripts loaded after <body> so the DOM is not blocked -->
  <script src="../_static/scripts/bootstrap.js?digest=12da95d707ffb74b382d"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=12da95d707ffb74b382d"></script>

  <footer class="bd-footer">
  </footer>
  </body>
</html>